/*
 * 08字符串查找字符串.c
 *
 *  Created on: 2024年3月10日
 *      Author: HP
 */
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<time.h>

char* my_strstr3(char* src, char* dest){
	char* fsrc = src; // 遍历源字符串指针
	char* rsrc = src; // 记录匹配上的相同字符串的首地址
	char* tdest = dest; // 遍历查找字符串指针
	while(*fsrc){
		rsrc = fsrc;
		while(*fsrc == *tdest && *fsrc != '\0'){
			fsrc++;
			tdest++;
		}
		if(*tdest == '\0'){
			return rsrc;
		}
		// 回滚
		tdest = dest; // 查找字符串更新到起始位置
		fsrc = rsrc;
		fsrc++;
	}
	return NULL;
}

int main0705(){
	char* str = "llabcd1111122abcd333abcd3344abcd333333322qqq";
	char ch[] = "abcd";
	char* p = my_strstr3(str, ch);
	int count = 0; // 记录个数
	while(p != NULL){
		count++;
		p += strlen(ch);
		p = my_strstr3(p, ch);
	}
	printf("abcd在字符串中出现：%d\n", count);
	return 0;
}
